/*
	Copyright 2012 J. Gohlke
	Licensed under the Apache License, Version 2.0 (the
	"License"); you may not use this file except in
	compliance with the License. You may obtain a copy
	of the License at

	http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in
	writing, software distributed under the License is
	distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
	OR CONDITIONS OF ANY KIND, either express or
	implied. See the License for the specific language
	governing permissions and limitations under the
	License
 */
package com.gohlke.lwo.textures;

/**
 *
 * @author David Wise
 */
public enum TextureHeaderType {
    /*
     * This is required in all texture layer blocks and can have a value
     * of COLR, DIFF, LUMI, SPEC, GLOS, REFL, TRAN, RIND, TRNL, or BUMP, 
     * The texture layer is applied to the corresponding surface attribute. 
     * If present in a shader block, this value is ignored
     */
    CHAN,
    /*
     * True if the texture layer or shader should be evaluated during rendering.
     * If ENAB is missing, the block is assumed to be enabled
     */
    ENAB,
    /*
     * Opacity is valid only for texture layers. 
     * It specifies how opaque the layer is with respect to the layers 
     * before it (beneath it) on the same channel, or how the layer is 
     * combined with the previous layers.
     * 
     * Alpha opacity uses the current layer as an alpha channel. 
     * The previous layers are visible where the current layer is 
     * white and transparent where the current layer is black. 
     * Texture Displacement distorts the underlying layers
     * 
     * If OPAC is missing, 100% Additive opacity is assumed
     */
    OPAC,
    /*
     * If non-zero, the RGB values are inverted,
     * (1.0 - r, 1.0 - g, 1.0 - b), to form a negative of the image.
     */
    NEGA,
    /*
     * For displacement mapping, defines the plane from which 
     * displacements will occur. The value is 0, 1 or 2 for the X, Y or Z axis
     */
    AXIS,
}
